package entity

import "time"

// 语雀单个知识库目录
type YuqueBookCatalog struct {
	ActivityTip         interface{}   `json:"activityTip"`
	AiWritingStreamType []interface{} `json:"aiWritingStreamType"`
	BoardAIGrey         bool          `json:"boardAIGrey"`
	Book                struct {
		Serializer string      `json:"_serializer"`
		Slug       string      `json:"slug"`
		Source     interface{} `json:"source"`
		Status     int         `json:"status"`
		Toc        []struct {
			ChildUUID   string `json:"child_uuid"`
			DocID       string `json:"doc_id"`
			ID          string `json:"id"`
			Level       int    `json:"level"`
			OpenWindow  int    `json:"open_window"`
			ParentUUID  string `json:"parent_uuid"`
			PrevUUID    string `json:"prev_uuid"`
			SiblingUUID string `json:"sibling_uuid"`
			Title       string `json:"title"`
			Type        string `json:"type"`
			URL         string `json:"url"`
			UUID        string `json:"uuid"`
			Visible     int    `json:"visible"`
		} `json:"toc"`
		TocUpdatedAt time.Time   `json:"toc_updated_at"`
		Type         string      `json:"type"`
		UpdatedAt    time.Time   `json:"updated_at"`
		User         interface{} `json:"user"`
		UserID       int         `json:"user_id"`
		WatchesCount int         `json:"watches_count"`
	} `json:"book"`
	Doc struct {
		Serializer        string      `json:"_serializer"`
		BodyAsl           string      `json:"body_asl"`
		BookID            int         `json:"book_id"`
		CommentsCount     int         `json:"comments_count"`
		ContentUpdatedAt  time.Time   `json:"content_updated_at"`
		Cover             interface{} `json:"cover"`
		CreatedAt         time.Time   `json:"created_at"`
		CustomDescription string      `json:"custom_description"`
		Description       string      `json:"description"`
		DraftVersion      int         `json:"draft_version"`
		EditorMeta        interface{} `json:"editor_meta"`
		EditorMetaDraft   interface{} `json:"editor_meta_draft"`
		FirstPublishedAt  time.Time   `json:"first_published_at"`
		Format            string      `json:"format"`
		ID                int         `json:"id"`
		IndexedLevel      int         `json:"indexed_level"`
		LikesCount        int         `json:"likes_count"`
		Meta              struct {
		} `json:"meta"`
		OriginFormat     string      `json:"origin_format"`
		Password         interface{} `json:"password"`
		PinnedAt         interface{} `json:"pinned_at"`
		PrivacyMigrated  bool        `json:"privacy_migrated"`
		Public           int         `json:"public"`
		PublishedAt      time.Time   `json:"published_at"`
		ReadStatus       int         `json:"read_status"`
		Region           string      `json:"region"`
		SelectedAt       interface{} `json:"selected_at"`
		ShareExpiredTime interface{} `json:"share_expired_time"`
		Slug             string      `json:"slug"`
		SpaceID          int         `json:"space_id"`
		Status           int         `json:"status"`
		SubType          interface{} `json:"sub_type"`
		Tag              interface{} `json:"tag"`
		Title            string      `json:"title"`
		Type             string      `json:"type"`
		UpdatedAt        time.Time   `json:"updated_at"`
		UserID           int         `json:"user_id"`
		ViewStatus       int         `json:"view_status"`
		WordCount        int         `json:"word_count"`
	} `json:"doc"`
	DocURL  string `json:"docUrl"`
	EmpInfo struct {
	} `json:"empInfo"`
	EnableMobileAppRelease bool   `json:"enableMobileAppRelease"`
	EnableSideThirdApp     bool   `json:"enableSideThirdApp"`
	EnableUserFeed         bool   `json:"enableUserFeed"`
	Env                    string `json:"env"`
}

// 语雀单个文档响应JSON结构体
type YuqueSingleDoc struct {
	DownloadTocPath string `name:"Toc下载路径"`
	Data            struct {
		ID                int         `json:"id"`
		SpaceID           int         `json:"space_id"`
		Type              string      `json:"type"`
		SubType           interface{} `json:"sub_type"`
		Title             string      `json:"title"`
		Tag               interface{} `json:"tag"`
		Slug              string      `json:"slug"`
		UserID            int         `json:"user_id"`
		BookID            int         `json:"book_id"`
		Cover             string      `json:"cover"`
		Description       string      `json:"description"`
		CustomDescription string      `json:"custom_description"`
		BodyAsl           string      `json:"body_asl"`
		Format            string      `json:"format"`
		OriginFormat      string      `json:"origin_format"`
		Status            int         `json:"status"`
		ReadStatus        int         `json:"read_status"`
		ViewStatus        int         `json:"view_status"`
		Public            int         `json:"public"`
		DraftVersion      int         `json:"draft_version"`
		CommentsCount     int         `json:"comments_count"`
		LikesCount        int         `json:"likes_count"`
		ContentUpdatedAt  time.Time   `json:"content_updated_at"`
		CreatedAt         time.Time   `json:"created_at"`
		UpdatedAt         time.Time   `json:"updated_at"`
		PublishedAt       time.Time   `json:"published_at"`
		FirstPublishedAt  time.Time   `json:"first_published_at"`
		PinnedAt          interface{} `json:"pinned_at"`
		WordCount         int         `json:"word_count"`
		Content           string      `json:"content"`
		ContentModified   bool        `json:"content_modified"`
		SelectedAt        interface{} `json:"selected_at"`
		EditorMeta        string      `json:"editor_meta"`
		EditorMetaDraft   string      `json:"editor_meta_draft"`
		Serializer        string      `json:"_serializer"`
	} `json:"data"`
}
